multi head attention
多重注意(Multi-Head Attention)の説明を理解するために、まずはアテンションの基本概念について理解することが重要です。アテンションは、特定の入力部分に「注意を向ける」ことにより、その情報の重要性をモデルに伝える機能です。トランスフォーマーモデルにおいては、このアテンション機構が重要な役割を果たします。
多重注意(Multi-Head Attention)
多重注意機構では、単一のアテンション機能を複数("heads"と呼ばれる)並行して運用します。各ヘッドは独立して異なる表現空間でアテンションを計算します。このことにより、モデルは複数の異なる視点から情報を捉え、よりリッチな表現を得ることが可能になります。
### エンコーダーのSelf-Attention
トランスフォーマーモデルのエンコーダー部分では、Self-Attentionを使用します。これは入力シーケンス内の各位置が、シーケンス内の他の位置とどのように関連しているかをモデルが理解するのに役立ちます。ここでのQ(クエリ)、K(キー)、V(バリュー)はすべて同じ入力(前の層からの出力)から来ています。
### デコーダーのSelf-Attention
デコーダーのSelf-Attentionは、エンコーダーのそれと似ていますが、一つの重要な違いがあります。それは、未来の情報に「マスク」をかけることです。つまり、ある時点での予測がその後の情報に依存しないようにするため、後続の位置へのアクセスを制限します。これにより、モデルは適切な順序でシーケンスを生成することができます。
### エンコーダー・デコーダーのAttention
エンコーダーからデコーダーへのアテンションでは、エンコーダーの出力がK(キー)とV(バリュー)に、デコーダーの前の層の出力がQ(クエリ)に使われます。このアテンションを通じて、デコーダーはエンコーダーのどの部分に注目すべきかを学習し、入力シーケンスを効果的に出力シーケンスに変換するのに役立ちます。
多重注意機構は、これらの異なるアテンションタイプを複数の視点から評価し、最終的にこれらを組み合わせて、より豊かで多様な表現を生成するために使用されます。これにより、モデルはより複雑なパターンや関係を捉え、特に言語モデリングのようなタスクでの性能を向上させることができます。